1. Field of the Invention
The present invention is directed to a terminal emulator for use with a keyboard, video and mouse (KVM) switch. More specifically, the present invention provides a converter interposed between a communications interface (e.g., a serial or USB port) of a computer and the three part KVM interface of a KVM switch for converting the (serial) communications into video signals representing a terminal.
2. Description of the Background
Apex Inc., the assignee of the present invention, produces and sells a series of switches that enable a single keyboard, mouse and monitor to logically connect to any one of several computers simultaneously. One embodiment of a KVM switch 74 is shown in the block diagram of FIG. 1. Using commands from a keyboard 122, the user may switch between the several computers (100a through 100c). Internally, based on the selection, the switch 74 establishes a set of three connections from the computer-interface side to the user-interface side. Accordingly, the output of the video card of one of the computers is displayed on the video monitor 120 when that computer is selected, and the signals from the keyboard 122 and the mouse 124 are directed to the selected computer as if the keyboard 122 and mouse 124 were directly connected to the selected computer.
Terminal emulators are also known. One use of terminal emulators is to debug the operation of a computer's operating system. Since controlling the monitor is complex for low-level operating system code, it is often impractical to write error messages to a screen to track operations of the operating system. As a result, some operating systems provide support for sending status messages to the serial port of the computer. Such a technique is far less complicated than writing to the screen.
To view the status messages, a terminal (or a computer running a terminal emulator) is connected to the serial port, and the output from the serial port is interpreted as a stream of terminal commands. Those terminal commands enable text to be written to the terminal's screen. Those commands also provide additional control functions such as clearing the screen and changing the attributes (e.g., underlining, inverted color, blinking, and foreground and background color) of a displayed character.